package org.lg.service;


import org.lg.dto.BaseDto;
import org.lg.entity.Sc;
import org.lg.entity.Student;
import org.lg.page.PageInfo;
import org.lg.vo.Vo;

import java.util.List;


public interface StudentService {
    public BaseDto getAllStudents() throws Exception;
    /**
     * 分页查询学生
     * @param pageInfo
     * @return
     */

    public BaseDto getStudentByPage(PageInfo pageInfo) throws Exception;

    public BaseDto getTop20Student() throws Exception;


    public BaseDto getScoreBySno(String sno) throws Exception;


    /**
     * 根据主键查询 示范简单参数
     * @param id
     * @return
     */

    public BaseDto getStudentById(String id) throws Exception;


    /**
     * 根据主键查询的学生关联班级和班主任信息
     * @param sno
     * @return
     * @throws Exception
     */

    public BaseDto selectByPrimaryKeyWithClazzAndTeacher(String sno)  throws Exception ;

    public BaseDto addStudent(Student student) throws Exception;


    public BaseDto editStudent(Student student) throws Exception;

    /**
     * 学生分页查看自己的选课情况
     * @param pageInfo
     * @return
     * @throws Exception
     */
    public BaseDto getScBySnoAndByPage(PageInfo pageInfo) throws Exception;

    /**
     * 查询我的同班同学排除自己
     * @param vo
     * @return
     * @throws Exception
     */
    public BaseDto getClassMateByCno(Vo vo) throws Exception;
    /**
     * 分页查询我的同班同学排除自己
     * @param pageInfo
     * @return
     * @throws Exception
     */
    public BaseDto getClassMateByCnoAndByPage(PageInfo pageInfo) throws Exception ;

}
